Skip to content

Update CMEPS to latest ESCOMP/CMEPS master#36

Merged
DeniseWorthen merged 62 commits into
NOAA-EMC:emc/developfrom
DeniseWorthen:feature/updcmeps
Apr 9, 2021
Merged

Update CMEPS to latest ESCOMP/CMEPS master#36
DeniseWorthen merged 62 commits into
NOAA-EMC:emc/developfrom
DeniseWorthen:feature/updcmeps

Conversation

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

@DeniseWorthen DeniseWorthen commented Mar 10, 2021

Description of changes

Update to latest ESCOMP/master.

Specific notes

The update to the lastest ESCOMP master will bring in component level PIO initialization to the HAFS application (or UFS Weather Model) without using shr_pio_mod.F90. The shr_pio_mod.F90 is also removed from the util/ directory.

Adds a feature to write the destination status flag field at the time of the RegridStore. This argument allows the user to receive information about what happened to each location in the destination Field during regridding.

No baseline changes are expected.

Co-authors:

@binli2337

Mariana Vertenstein and others added 25 commits January 20, 2021 10:14
bugfix for cart3d and other changes needed for CESM validation
Description of changes

bugfix for cart3d and other changes needed for CESM validation
Specific notes

This PR does several things

    med_map_mod.F90 has a fix for the cart3d mapping - in addition, this is now the default mapping for CESM as is the case with mct
    testlist_drv.xml has been modified to include a new compset for MOM
    bug fix in med_io_mod to permit more ungridded dimensions than 16

NOTE: the externals used for CESM for the testing has been changed such that all components have been updated to have flux area corrections implemented in their caps AND also many have been updated to be near their master versions. As a result all baseline answers are different.

Contributors other than yourself, if any: None

CMEPS Issues Fixed: None

Are changes expected to change answers?

bit for bit
different at roundoff level

    more substantial - only for CESM testing, other model testing should be bfb

Any User Interface Changes (namelist or namelist defaults changes)?

Yes

    No

Testing performed if application target is CESM:(either UFS-S2S or CESM testing is required):

(recommended) CIME_DRIVER=nuopc scripts_regression_tests.py

    machines:
    details (e.g. failed tests):

(recommended) CESM testlist_drv.xml

    machines and compilers: cheyenne/intel
    details (e.g. failed tests): No failed tests - but baselines are different, new baselines are feb02

(optional) CESM prealpha test

    machines and compilers
    details (e.g. failed tests):

    (other) please described in detail
        machines and compilers
        details (e.g. failed tests):

Testing performed if application target is UFS-coupled:

    (recommended) UFS-coupled testing
        description:
        details (e.g. failed tests):

Testing performed if application target is UFS-HAFS:

    (recommended) UFS-HAFS testing
        description:
        details (e.g. failed tests):

Hashes used for testing:

CESM:

    repository to check out: https://github.com/ESCOMP/CESM.git
    branch: nuopc_dev
    hash: c6121e3

[x ] UFS-coupled, then umbrella repostiory to check out and associated hash:

    repository to check out:https://github.com/ufs-community/ufs-weather-model
    branch: develop, with switch to this cmeps branch
    hash: e3983a0

UFS-HAFS, then umbrella repostiory to check out and associated hash:

    repository to check out:
    branch:
    hash:
Component level PIO initialization for external applications such as HAFS
jedwards4b and others added 17 commits March 19, 2021 09:43
*add dststatus field retrieval and optional write to file
*add mapbilnr_nstop mapping type
*add abort of coupling_mode is not supported
*trailing whitespace cleanup
This way we don't need to change this xml entry whenever we want to add
a new GLC grid. None of the other *_GRID variables define valid_values.

Also, set default_value to UNSET, as for other *_GRID variables.
Remove valid_values for GLC_GRID
### Description of changes

Remove valid_values for GLC_GRID.

This way we don't need to change this xml entry whenever we want to add
a new GLC grid. (None of the other *_GRID variables define valid_values.)

Also, set default_value to UNSET, as for other *_GRID variables.

### Specific notes

Contributors other than yourself, if any: none

CMEPS Issues Fixed (include github issue #): none

Are changes expected to change answers?
 - [x] bit for bit
 - [ ] different at roundoff level
 - [ ] more substantial 

Any User Interface Changes (namelist or namelist defaults changes)?
 - [ ] Yes
 - [x] No

Testing performed if application target is CESM:(either UFS-S2S or CESM testing is required):
- [ ] (recommended) CIME_DRIVER=nuopc scripts_regression_tests.py
   - machines:
   - details (e.g. failed tests):
- [ ] (recommended) CESM testlist_drv.xml
   - machines and compilers:
   - details (e.g. failed tests):
- [ ] (optional) CESM prealpha test
   - machines and compilers
   - details (e.g. failed tests):
- [x] (other) please described in detail
  - `ERS_Vnuopc_Ly7.f09_g17_gl4.T1850G.cheyenne_intel`: passes
  - `ERS_Vnuopc_Ly3.f10_f10_mg37.I1850Clm50SpG.cheyenne_intel`: fails with runtime error that seems unrelated to these changes; the important point, I think, is that setup passes and GLC_GRID is set correctly in this test (however, this issue will need to be resolved soon)

Testing performed if application target is UFS-coupled:
- [ ] (recommended) UFS-coupled testing
   - description:
   - details (e.g. failed tests):

Testing performed if application target is UFS-HAFS:
- [ ] (recommended) UFS-HAFS testing
   - description:
   - details (e.g. failed tests):

Hashes used for testing:
- [x] CESM:
  - repository to check out: https://github.com/ESCOMP/CESM.git
  - branch: nuopc_dev
  - hash: `913272a`
- [ ] UFS-coupled, then umbrella repostiory to check out and associated hash:
  - repository to check out:
  - branch:
  - hash:
- [ ] UFS-HAFS, then umbrella repostiory to check out and associated hash:
  - repository to check out:
  - branch:
  - hash:
update for getting the glc present flag set correctly with nag compiler

### Description of changes
update for getting the glc present flag set correctly with nag compiler

### Specific notes
The following ctsm test - SMS_D_Ld5_Vnuopc.f10_f10_mg37.I2000Clm50BgcCrop.izumi_nag.clm-irrig_alternate passed on cheyenne with intel but failed on izumi with nag. This bugfix corrects the if-present logic for GLC and permits the test to successfully pass now on izumi.

Contributors other than yourself, if any:

CMEPS Issues Fixed: None 

Are changes expected to change answers?
 - [x] bit for bit
 - [ ] different at roundoff level
 - [ ] more substantial 

Any User Interface Changes (namelist or namelist defaults changes)?
 - [ ] Yes
 - [x] No

Testing performed if application target is CESM:(either UFS-S2S or CESM testing is required):
ran SMS_D_Ld5_Vnuopc.f10_f10_mg37.I2000Clm50BgcCrop.izumi_nag.clm-irrig_alternate successfully on izumi.
Retrieval of dstStatusField and optionally writing to file; add mapbilnr_nstod mapping
### Description of changes
Adds ability to write dstStatusField from RegridStore. Adds bilinear mapping with NSTOD extrapolation.
### Specific notes
A flag is added (dststatus_print, default false) in med_map_mod.F90 to write the dstStatusField from the RegridStore operation. Since ESMF_FieldWrite does not order the written field correctly, a field containing the index order is also retrieved and written. This can be used off-line to re-order the data in the dststatus file. 
A bilinear mapping type with NSTOD extrapolation is added. This is currently unused but will be implemented in the ufs-model system for mapping the ATM states (bottom T,P,Q,U,V) using bilinear instead of conservative mapping.
A small change is added to abort if coupling_mode is not supported. 

Trailing white space cleanup, primarily in fd_nems.yaml

CMEPS Issues Fixed (include github issue #):
NOAA-EMC#38

Are changes expected to change answers?
 - [X] bit for bit
 - [ ] different at roundoff level
 - [ ] more substantial 

Any User Interface Changes (namelist or namelist defaults changes)?
 - [ ] Yes
 - [X] No

Testing performed if application target is CESM:(either UFS-S2S or CESM testing is required):
- [ ] (recommended) CIME_DRIVER=nuopc scripts_regression_tests.py
   - machines:
   - details (e.g. failed tests):
- [ ] (recommended) CESM testlist_drv.xml
   - machines and compilers:
   - details (e.g. failed tests):
- [ ] (optional) CESM prealpha test
   - machines and compilers
   - details (e.g. failed tests):
- [ ] (other) please described in detail
   - machines and compilers
   - details (e.g. failed tests):

Testing performed if application target is UFS-coupled:
- [X] (recommended) UFS-coupled testing
   - description: ufs-weather-model (3e46f5b) switched to this branch for CMEPS with shr_mod_pio.F90 from CMakeLists.txt in CMEPS-interface
   - details (e.g. failed tests): All ufs-coupled and ufs-datm tests pass current baselines
 CESM - verified that SMS_Vnuopc_Ld1.f09_g17.B1850.cheyenne_intel was bfb with these changes
* datm will remain nemsdatm until cdeps is added so revert
change to srcMaskValue for compatm = "datm"
@DeniseWorthen DeniseWorthen changed the title Update CMEPS to latests ESCOMP/CMEPS master; set srcMaskValue for datm_cfsr and datm_gefs for CDEPS Update CMEPS to latests ESCOMP/CMEPS master Mar 29, 2021
@DeniseWorthen DeniseWorthen changed the title Update CMEPS to latests ESCOMP/CMEPS master Update CMEPS to latest ESCOMP/CMEPS master Mar 29, 2021
@DeniseWorthen
Copy link
Copy Markdown
Collaborator Author

@binli2337 I have reverted the change in srcMaskValue for use case "datm" in med_map_mod.F90 because it is not valid until we bring in CDEPS. This allows us to update to the current ESCOMP while we work on CDEPS integration with no impact on current baselines.

@DeniseWorthen DeniseWorthen self-assigned this Mar 30, 2021
PIO_VERSION_DIR: pio2_5_2
PIO_VERSION: pio-2.5.2
PIO_VERSION_DIR: pio2_5_3
PIO_VERSION: pio-2.5.3
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am curious where this pio-2.5.3 is installed?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't this refer just to the github actions that is set up on the ESCOMP repo for their PRs?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, it is running a standalone build job, the pio used there is different, I guess it is OK.

@binli2337
Copy link
Copy Markdown

Looks good.

@DeniseWorthen DeniseWorthen merged commit d5b270c into NOAA-EMC:emc/develop Apr 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

update to latest escomp/master for PIO initialization changes Update land-sea masks used by CDEPS for cfsr and gefs data sources

7 participants